草庐IT

Android FrameWork--SytemServer进程fork

全部标签

java - 我如何知道哪些进程正在使用 Windows 中 Java 下的文件?

我们有一个用Java编写的计划任务在Windows平台上失败,因为有时它需要删除的文件仍在使用中。有没有一种方法可以从Java内部查看哪些进程正在使用文件并获取有关它们的信息?我想我会补充说,如果有必要,我愿意使用JNA或JNI,而且我认为它会是。 最佳答案 我在Github上针对JNA项目提出了一个类似的问题,@matthiasblaesing编写了一个代码来完成这个问题。密码是here.它以以下格式打印所有正在运行的进程的列表:::. 关于java-我如何知道哪些进程正在使用Wind

windows - 如何强制特定进程使用代理进行网络通信

有几个程序像Proxifier可以强制exe使用代理。还有其他一些。但是这些网站看起来都有点阴暗。我什至不相信Proxifiertbh...所以我想知道这些程序是如何工作的。他们是怎么做到的呢?是否有可用于执行此操作的WinAPI函数?或者您是否必须实际将代码注入(inject)流程?我只能找到更改windows全局代理的函数。但是有些程序不关心全局代理说什么,他们总是尝试直接连接,即使这是不可能的...... 最佳答案 Proxifier基于LSP(layeredserviceprovider),但我个人从来不喜欢这项技术,因为经

windows - 如何在 Windows 中监视进程/程序执行?

我们正在尝试开发一个小型应用程序,它可以监视在Windows机器上执行的程序/进程。如果程序/进程不应运行,则应将其阻止。它的工作原理类似于防病毒软件。这是基本思想。我想知道挂接到操作系统的方法,以获取有关尝试在机器中运行的每个程序/进程的通知。 最佳答案 最简单的方法是使用WMI。专门监视Win32_ProcessStartTrace。这比Win32_Process更好,因为它被设置为使用事件,而Win32_Process需要轮询,这会占用更多CPU。下面是如何在C#中执行此操作。首先确保将System.Management设置为

c++ - 如何判断一个进程 "virtual size"(WinXP)?

我有一个需要大量内存的程序,一旦达到2GB虚拟地址空间,它就会崩溃。Sysinternals进程资源管理器将其显示为“虚拟大小”列。我如何用C(或C++)代码确定这个“虚拟大小”?好的,我必须查询“虚拟字节”的性能计数器。Perfmon将查询字符串(或它的调用方式)显示为,例如,在我的德语WinXP安装中为'\Process(firefox)\VirtuelleGröße'。如何确定“当前进程”的查询字符串,是否有非本地化名称? 最佳答案 根据MSDN:MemoryPerformanceInformationPROCESS_MEMO

windows - 如何从提升的 PowerShell 控制台以非管理员身份运行进程?

也许有办法用Start-Process做到这一点我找不到的cmdlet?我在StackOverflow上找到的其他相关Q/A,例如this,this和this所有这些都提供了使用自定义C#代码执行此操作的解决方案。我的问题是,在PowerShell中是否有任何直接的方法可以做到这一点?即,您在提升的PS控制台中并希望以非管理员身份运行进程。 最佳答案 您可以使用runas.exe指定TrustLevel,有效地“受限”运行runas/trustlevel:0x20000"powershell.exe-command'whoami/g

c# - 如何创建比其父进程生命周期更长的进程

我正在尝试为我开发的平台启动外部更新程序应用程序。我想启动此更新程序的原因是因为我的配置实用程序处理平台的更新和许可配置,与将部署更新的文件夹中的其他程序集共享依赖关系。因此,虽然我可以重命名配置实用程序并在部署更新时覆盖它,但我无法重命名或覆盖它所依赖的DLL。因此,外部更新程序应用程序。我在配置实用程序中处理所有更新收集逻辑,然后尝试启动更新程序来处理实际的文件复制/覆盖操作。显然,由于正在使用的文件问题,我需要配置实用程序在更新程序开始后立即退出。我遇到的问题是我正在使用标准的Process.Start方法来启动更新程序,一旦配置实用程序退出,更新程序进程也会被终止。有什么方法可

windows - 在允许的进程之间传递 Windows 安全 token

假设我有一个以特定用户身份在Windows下运行的现有进程。是否允许该进程获取其当前token(使用OpenThreadToken和DuplicateTokenEx之类的东西),将其传递给同一台机器上的另一个进程(可能通过网络套接字或其他IPC),然后期望该进程能够使用它来调用CreateProcessAsUser?从我阅读的文档(http://msdn.microsoft.com/en-us/library/ms682429%28VS.85%29.aspx)中,我没有看到任何禁止这样做的内容,但也许token只能由创建它的线程或进程使用。(为什么?我想让Web请求进入IIS,进行身份

windows - 为什么 Windows 会在处理器之间切换进程?

如果单线程进程很忙并且使用了100%的单个内核,则Windows似乎正在内核之间切换此进程,因为在任务管理器内核概述中,所有内核都被平等使用。为什么Windows会那样做?这不是在破坏L1/L2缓存吗? 最佳答案 将进程固定到一个核心有很多优势,主要是您已经提到的缓存。也有缺点-加热不均匀,这会产生机械应力,不会提高硅芯片的预期生命周期。为避免这种情况,操作系统倾向于使所有内核均等使用。当只有一个事件线程时,必须移动它并使缓存无效。只要不经常这样做(在CPU时间内),迁移过程中额外缓存未命中的影响就可以忽略不计。例如"Energya

windows - 如何终止运行时间超过 30 分钟的 Windows 进程

我基本上需要实现两件事,查找在Windows服务器上运行的所有“firefox.exe”进程杀死运行时间超过30分钟的那些我有零碎的东西,但不确定如何将它们全部集成以使其作为Windows服务运行。到目前为止我所拥有的-1)查找所有正在运行的firefox进程的方法wmicprocessgetname,creationdate,processid|findstrfirefox2)根据PID杀死进程的方法taskkill/PID827还剩下什么?根据creationdate计算,哪个PID运行时间超过30分钟使用taskkill命令依次杀死所有符合上述条件的PID设置这是一个服务(这个我

c++ - 是否需要为每个线程或每个进程调用 srand() C 函数来为随机发生器设置种子?

标题几乎说明了一切。附言。这是针对C++Windows程序的。 最佳答案 根据theMSDNdocumentationonsrand()(假设您正在使用Microsoft的C运行时库),种子是线程本地的,因此您需要为每个使用rand()的线程调用srand()。请注意,在其他实现中可能并非如此。引自MSDN:Thesrandfunctionsetsthestartingpointforgeneratingaseriesofpseudorandomintegersinthecurrentthread.